home *** CD-ROM | disk | FTP | other *** search
/ PC Play 128 / pc play 128.iso / Demo / xmr / xmr.exe / {app} / Shaders / vs / vs1_1_water.vsh < prev    next >
Encoding:
Text File  |  2006-04-25  |  4.9 KB  |  174 lines

  1. vs_1_1
  2. // DX9 Vertex shader generated by NVIDIA Cg compiler
  3. // cgc version 1.3.0001, build date Jan  7 2005 14:01:35
  4. // command line args: -q -profile vs_1_1 -entry main -profileopts dcls
  5. // source file: vs1_1_water.cg
  6. // nv30vp backend compiling 'main' program
  7. def c20, 0.25, 0.5, 0.75, 1
  8. def c21, -24.980804, 60.145809, -85.453789, 64.939354
  9. def c22, -19.739208, 1, -1, 0.15915494
  10. def c19, 2, 20, 0, 0
  11. //vendor NVIDIA Corporation
  12. //version 1.0.02
  13. //profile vs_1_1
  14. //program main
  15. //semantic main.WorldViewProjMatrix
  16. //semantic main.WorldViewMatrix
  17. //semantic main.WorldMatrix
  18. //semantic main.ObjToCubeSpace
  19. //semantic main.EyePos
  20. //semantic main.Time
  21. //semantic main.WaveDir
  22. //semantic main.WaveTextOffset
  23. //semantic main.Fresnel
  24. //var float4x4 WorldViewProjMatrix :  : c[0], 4 : 1 : 1
  25. //var float4x4 WorldViewMatrix :  : c[4], 4 : 2 : 1
  26. //var float4x4 WorldMatrix :  : c[8], 4 : 3 : 1
  27. //var float3x4 ObjToCubeSpace :  : c[12], 3 : 4 : 1
  28. //var float4 EyePos :  : c[15] : 5 : 1
  29. //var float4 Time :  : c[16] : 6 : 1
  30. //var float4 WaveDir :  :  : 7 : 0
  31. //var float4 WaveTextOffset :  : c[17] : 8 : 1
  32. //var float4 Fresnel :  : c[18] : 9 : 1
  33. //var float4 I.Position : $vin.POSITION : ATTR0 : 0 : 1
  34. //var float3 I.Normal : $vin.NORMAL : ATTR3 : 0 : 1
  35. //var float2 I.Texcoord0 : $vin.TEXCOORD0 : ATTR7 : 0 : 1
  36. //var float3 I.Tangent : $vin.TEXCOORD1 : ATTR8 : 0 : 1
  37. //var float4 main.HPOS : $vout.POSITION : HPOS : -1 : 1
  38. //var float4 main.Fresnel : $vout.COLOR0 : COL0 : -1 : 1
  39. //var float4 main.LightAtten : $vout.COLOR1 : COL1 : -1 : 0
  40. //var float4 main.TexCoord0 : $vout.TEXCOORD0 : TEX0 : -1 : 1
  41. //var float4 main.TangentToCubeSpace0 : $vout.TEXCOORD1 : TEX1 : -1 : 1
  42. //var float4 main.TangentToCubeSpace1 : $vout.TEXCOORD2 : TEX2 : -1 : 1
  43. //var float4 main.TangentToCubeSpace2 : $vout.TEXCOORD3 : TEX3 : -1 : 1
  44. //const c[20] = 0.25 0.5 0.75 1
  45. //const c[21] = -24.9808 60.14581 -85.45379 64.93935
  46. //const c[22] = -19.73921 1 -1 0.1591549
  47. //const c[19] = 2 20 0 0
  48. dcl_texcoord1 v8
  49. dcl_texcoord0 v7
  50. dcl_normal v3
  51. dcl_position v0
  52.     mov r5, v0
  53.     dp4 r4.x, c8, r5
  54.     dp4 r4.y, c9, r5
  55.     dp4 r4.z, c10, r5
  56.     dp4 r4.w, c11, r5
  57.     mov r3.xyz, c16
  58.     mul r0.x, r3.x, c19.x
  59.     mad r0.x, r3.z, r4.x, r0.x
  60.     mul r1, c22.w, r0.x
  61.     expp r1.y, r1.x
  62.     slt r7, r1.y, c20
  63.     add r0.xyz, r7.yzw, -r7.xyz
  64.     mov r7.yzw, r0.xxyz
  65.     dp3 r1.z, r7.yzw, c20.yyw
  66.     dp4 r1.w, r7, c20.xxzz
  67.     add r0.xy, r1.y, -r1.zw
  68.     mul r1.xyw, r0.xy, r0.xy
  69.     mul r0.xyz, r1.xy, r1.xy
  70.     mov r6.xz, r1.xyyw
  71.     mov r6.yw, r0.xxzy
  72.     dp4 r2.z, r7, c22.yzzy
  73.     dp4 r2.w, r7, c22.yyzz
  74.     mad r0, c21.xyxy, r6.yyww, c21.zwzw
  75.     mad r1, r0, r6.yyww, c22.xyxy
  76.     mad r0.xyw, r1.xz, r6.xz, r1.yw
  77.     mov r1.xz, r0.xyyw
  78.     mul r2.zw, r2.zzzw, r1.xxxz
  79.     mul r0.x, c19.x, r3.z
  80.     mad r0.x, r0.x, r4.z, r3.x
  81.     mul r1, c22.w, r0.x
  82.     expp r1.y, r1.x
  83.     slt r7, r1.y, c20
  84.     add r0.xyz, r7.yzw, -r7.xyz
  85.     mov r7.yzw, r0.xxyz
  86.     dp3 r1.z, r7.yzw, c20.yyw
  87.     dp4 r1.w, r7, c20.xxzz
  88.     add r0.xy, r1.y, -r1.zw
  89.     mul r1.xyw, r0.xy, r0.xy
  90.     mul r0.xyz, r1.xy, r1.xy
  91.     mov r6.xz, r1.xyyw
  92.     mov r6.yw, r0.xxzy
  93.     dp4 r2.x, r7, c22.yzzy
  94.     dp4 r2.y, r7, c22.yyzz
  95.     mad r0, c21.xyxy, r6.yyww, c21.zwzw
  96.     mad r1, r0, r6.yyww, c22.xyxy
  97.     mad r0.xyw, r1.xz, r6.xz, r1.yw
  98.     mov r1.xz, r0.xyyw
  99.     mul r2.xy, r2.xy, r1.xz
  100.     mul r0.y, r2.z, r2.y
  101.     rcp r0.x, r3.y
  102.     mul r0.x, c19.y, r0.x
  103.     rcp r1.w, r0.x
  104.     mul r3.w, r0.y, r1.w
  105.     add r6.xzw, v8.y, r3.w
  106.     mov r0.yw, v8.xxyz
  107.     mov r0.z, r6.xxxz
  108.     dp3 r0.x, r0.yzw, r0.yzw
  109.     rsq r0.x, r0.x
  110.     mul r1.xyz, r0.x, r0.yzw
  111.     dp3 oT1.x, r1.xyz, c12.xyz
  112.     add r6.xyw, v3.xz, r3.w
  113.     mov r0.z, v3.xxyz
  114.     mov r0.yw, r6.xxyy
  115.     dp3 r0.x, r0.yzw, r0.yzw
  116.     rsq r0.x, r0.x
  117.     mul r0, r0.x, r0.yzw
  118.     mul r6.xyz, r0.zxy, r1.yzx
  119.     mad r6.xyz, r0.yzx, r1.zxy, -r6.xyz
  120.     dp3 r3.w, r6.xyz, r6.xyz
  121.     rsq r3.w, r3.w
  122.     mul r7.xyz, r3.w, r6.xyz
  123.     dp3 oT1.y, r7.xyz, c12.xyz
  124.     dp3 oT1.z, r0.xyz, c12.xyz
  125.     dp4 r6.x, c12, r4
  126.     dp4 r6.y, c13, r4
  127.     dp4 r6.z, c14, r4
  128.     add r4.xyz, r6.xyz, -c15.xyz
  129.     mov oT1.w, r4.x
  130.     dp3 oT2.x, r1.xyz, c13.xyz
  131.     dp3 oT2.y, r7.xyz, c13.xyz
  132.     dp3 oT2.z, r0.xyz, c13.xyz
  133.     mov oT2.w, r4.y
  134.     dp3 oT3.x, r1.xyz, c14.xyz
  135.     dp3 oT3.y, r7.xyz, c14.xyz
  136.     dp3 oT3.z, r0.xyz, c14.xyz
  137.     mov oT3.w, r4.z
  138.     mul r1.x, r2.w, r2.y
  139.     mul r1.x, r1.x, r1.w
  140.     mad r2, v3.xyzz, r1.x, r5
  141.     dp4 oPos.x, c0, r2
  142.     dp4 oPos.y, c1, r2
  143.     dp4 oPos.z, c2, r2
  144.     dp4 oPos.w, c3, r2
  145.     mad oT0.x, r3.x, c17.x, v7.x
  146.     mad oT0.y, r3.x, c17.y, v7.y
  147.     mov r0.w, c19.z
  148.     dp4 r1.x, c4, r0
  149.     dp4 r1.y, c5, r0
  150.     dp4 r1.z, c6, r0
  151.     dp3 r0.x, r1.xyz, r1.xyz
  152.     rsq r0.x, r0.x
  153.     mul r1.xyz, r0.x, r1.xyz
  154.     dp4 r0.y, c4, r2
  155.     dp4 r0.z, c5, r2
  156.     dp4 r0.w, c6, r2
  157.     dp3 r0.x, r0.yzw, r0.yzw
  158.     rsq r0.x, r0.x
  159.     mul r0.xyz, r0.x, r0.yzw
  160.     dp3 r0.x, r0.xyz, r1.xyz
  161.     add r0.xyz, c20.w, r0.x
  162.     mov r0.xy, r0.xxyz
  163.     mov r0.zw, c18.x
  164.     lit r0.z, r0
  165.     add r0.x, c20.w, -r0.z
  166.     mad r0.x, c18.y, r0.x, r0.z
  167.     min r0.x, c20.w, r0.x
  168.     max r0.x, c19.z, r0.x
  169.     min r0.x, c20.w, r0.x
  170.     max r0.x, c19.z, r0.x
  171.     mov oD0, r0.x
  172. // 124 instructions
  173. // 8 temp registers
  174.